Free Space Management

Table of Contents

In Address Translation: Segmentation, we mentioned that segmentation introduces external fragmentation.

Splitting and Coalescing
A common technique used in allocators. Splitting is that, For example, to allocate for \(A\) bytes within a \(B\) bytes block, we will split this block into 2 parts \(A,B-A\). While coalescing is the contrast that it merges adjacent continuous blocks.
Header Block
Allocators store a little bit of extra information in header block which is kept in memory, usually before the allocated memory. Minimal implementation should contain a size and magic. Thus, allocators usually need “required memory” + “memory for header block”.

1. Basic Strategies

1.1. Best Fit

1.2. Worst Fit

1.3. First Fit

1.4. Next Fit

1.5. Segregated Lists

1.6. Buddy Allocation

Date: 2026-08-09 Sun

Author: ArcaLunar